home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Revista CD Expert 24
/
PCGamer24_23Demos.iso
/
WarZone 2100
/
data1.cab
/
Program_Executable_Files
/
script
/
fastplay
/
fastdemo.vlo
< prev
next >
Wrap
Text File
|
1998-10-21
|
21KB
|
527 lines
//Generic VLO file template
//for demo map version of fastplay level
script "fastdemo.slo"
run
{
/* Next level stuff */
NextLev LEVEL "SUBDEMO_START" //points to next level
/* CD track to play during mission */
CDTrack int 2 //CD track to play
/* Define Players/Enemies */
numEnemies int 1 //MAX 2. Must define same as number of enemy players given next
enemy[0] int 7
//enemy[1] int 1
allianceFlag BOOL FALSE //TRUE if want enemies to ally, otherwise mark FALSE
/* Starting Enemy Power */
power[0] int 300 //starting power values for each enemy listed above
/* Structure Limits */
numStrucStats int 5 //MAX 5. Must be same as number of limits given next
strucStat[0] STRUCTURESTAT "A0PowerGenerator"
strucLimit[0] int 1
strucStat[1] STRUCTURESTAT "A0ResourceExtractor"
strucLimit[1] int 200
strucStat[2] STRUCTURESTAT "A0ResearchFacility"
strucLimit[2] int 5
strucStat[3] STRUCTURESTAT "A0LightFactory"
strucLimit[3] int 5
strucStat[4] STRUCTURESTAT "A0CommandCentre"
strucLimit[4] int 1
/* Initialisation */
centreX int 1088 //starting view centre (in world units)
centreY int 6592
scrollX1 int 0 //scroll limits (in tile units)
scrollY1 int 0
scrollX2 int 64
scrollY2 int 64
zoomLevel int 1 //starting radar: 0=zoomed out, 2=zoomed in
numLZ int 1 //MAX 8. Number of Landing zones/areas can't build on (0 = LZ)
LZX[0] int 5 //coords of LZs in tile units
LZY[0] int 54
/* starting technology for enemy */
//NOTE: need to set first number in array for enemy player
//second number needs to correspond to numTechs[enemy]
//MAX 2 enemies, 10 technologies
numTechs[0] int 0
startTech[0][0] RESEARCHSTAT "R-Wpn-MG-Damage03"
startTech[0][1] RESEARCHSTAT "R-Wpn-Rocket-Damage02"
/*
numTechs[1] int 3
startTech[1][0] RESEARCHSTAT "R-Vehicle-Body01"
startTech[1][1] RESEARCHSTAT "R-Sys-Spade1Mk1"
startTech[1][2] RESEARCHSTAT "R-Vehicle-Prop-Wheels"
//startTech[1][3] RESEARCHSTAT "R-Wpn-MG1Mk1" //done as makeComponent available!
*/
/* Briefings */
numBriefs int 1 //MAX 2. Needs to be same as the number of briefings given next
brief[0] INTMESSAGE "MBDEMO_MSG"
//brief[1] INTMESSAGE "MB1C2_MSG"
endMsg INTMESSAGE "END"
/* Objectives */
numObjectives int 1 //MAX 3. Needs to be the same as the number of objective blips given next
objective[0] INTMESSAGE "FAST_OBJ1"
objectiveX[0] int 1728 //doesn't use index to array, use world coords
objectiveY[0] int 1216
/* Victory Conditions */
//NOTE: always assumes vcitory condition of: number of artifacts collected = victoryArt
numVictory int 1 //number of victory conditions to be met (not including artifacts)
//DOESN'T need to be same as number given next (these are set TRUE/FALSE)
//if victory condition required. Can have 2 set to TRUE and numVictory = 1
//This will then let player win if EITHER condition is true!
victory[0] BOOL TRUE //all enemy vehicles and structures need to be killed
victory[1] BOOL FALSE //all players vehicles at landing zone (in transport?)
/* Artifacts */
victoryArt int 6 //number of artifacts required for victory (must be <= numArt)
numArt int 6 //MAX 6. Number of artifacts in total (even if not in game, but added as extra research!)
//new improved way of doing artifacts
//artType: 0 = artifact starts on map, 1 = get from STRUCTURE, 2 = get from FEATURE, 3 = get from DROID, 4 = at end of level
//artVal: index to relevant type, ie FEATURE(crate), FEATURE, STRUCTURE, DROID
//artX, artY: artifact coords (this is updated for DROIDS moving by script, but still needs an array to store them in!)
artType [0] int 0 //already on map
artVal [0] int 0
artX [0] int 576
artY [0] int 3008
artComp [0] RESEARCHSTAT "R-Wpn-Flamer01Mk1"
artType [1] int 1
artVal [1] int 0 //get this from base 1 factory
artX [1] int 3136
artY [1] int 832
artComp [1] RESEARCHSTAT "R-Defense-Tower01"
artType [2] int 1
artVal [2] int 1 //get this from radar tower
artX [2] int 4416
artY [2] int 2752
artComp [2] RESEARCHSTAT "R-Sys-Sensor-Turret01"
artType [3] int 1
artVal [3] int 2 //get this from base 2 factory
artX [3] int 5696
artY [3] int 1856
artComp [3] RESEARCHSTAT "R-Vehicle-Prop-Halftracks" //"R-Sys-Engineering01"
artType [4] int 1
artVal [4] int 3 //get this from base 3 factory
artX [4] int 4928
artY [4] int 6464
artComp [4] RESEARCHSTAT "R-Wpn-Mortar01Lt"
artType [5] int 1 //get this from bunker
artVal [5] int 4
artX [5] int 3136
artY [5] int 3904
artComp [5] RESEARCHSTAT "R-Sys-Engineering01" //"R-Wpn-MG-Damage01"
/* lists of stuff referred to by index number */
//features (inc crates, by ID number) MAX = 10
features [0] FEATURE 649 //crate artifact (1st in valley)
//features [1] FEATURE 661 //crate artifact (2nd by huts) (CHANGED TO BUNKER)
//structures (by ID number) MAX = 10
structures [0] STRUCTURE 223 //Base 1 Factory
structures [1] STRUCTURE 650 //radar Tower
structures [2] STRUCTURE 481 //Base 2 Factory
structures [3] STRUCTURE 623 //Base 3 Factory
structures [4] STRUCTURE 666 //Bunker
//droids (by ID number) MAX = 10
//droids [0] DROID 3279 //testdroid
// list of templates (by name) MAX = 20
templates [0] TEMPLATE "BaBaPeople" //Truck template is always in position 0?
templates [1] TEMPLATE "BarbarianTrike" //scavenger templates
templates [2] TEMPLATE "BarbarianBuggy"
templates [3] TEMPLATE "BabaJeep"
templates [4] TEMPLATE "BabaRKJeep"
templates [5] TEMPLATE "BarbarianRKBuggy"
templates [6] TEMPLATE "BabaBusCan"
templates [7] TEMPLATE "BabaFireCan"
//coordinates (world coords) MAX = 10
coordsX [0] int 3136 //base 1 Assembly
coordsY [0] int 1472
coordsX [1] int 5824 //base 2 Assembly (and valley group retreat!)
coordsY [1] int 2368
coordsX [2] int 5184 //base 3 Assembly
coordsY [2] int 6592
coordsX [3] int 832 //1088 //valley group attack coords (player base)
coordsY [3] int 6848 //6208
coordsX [4] int 1856 //valley group 2nd coord so can reinforce
coordsY [4] int 7104
coordsX [5] int 2624 //hillgroup waypoint1
coordsY [5] int 5952
coordsX [6] int 2752 //hillgroup waypoint2
coordsY [6] int 6720
coordsX [7] int 2496 //hillgroup waypoint3
coordsY [7] int 7488
coordsX [8] int 1728 //hillgroup waypoint4
coordsY [8] int 7744
//regions (world coords) MAX = 20
regionsX1 [0] int 2624 //enemy base1 blip
regionsY1 [0] int 448
regionsX2 [0] int 3648
regionsY2 [0] int 1344
regionsX1 [1] int 4800 //enemy base2 blip
regionsY1 [1] int 1472
regionsX2 [1] int 6464
regionsY2 [1] int 2880
regionsX1 [2] int 4288 //enemy base3 blip
regionsY1 [2] int 5952
regionsX2 [2] int 6208
regionsY2 [2] int 7488
regionsX1 [3] int 320 //base 1 Factory start
regionsY1 [3] int 4160 //crossed by 1st derrick
regionsX2 [3] int 2368
regionsY2 [3] int 5184
regionsX1 [4] int 1984 //base 2 Factory start
regionsY1 [4] int 832 //round first corner near base1
regionsX2 [4] int 3008
regionsY2 [4] int 2368
regionsX1 [5] int 3904 //base 3 Factory start
regionsY1 [5] int 2496 //crossed by radar tower
regionsX2 [5] int 5312
regionsY2 [5] int 4288
regionsX1 [6] int 704 //region group 0 (along valley)
regionsY1 [6] int 4544
regionsX2 [6] int 1728 //include guys on hill!
regionsY2 [6] int 4800
regionsX1 [7] int 576 //region group 1
regionsY1 [7] int 4032
regionsX2 [7] int 1728
regionsY2 [7] int 4543
regionsX1 [8] int 576 //region group 2
regionsY1 [8] int 3136
regionsX2 [8] int 1216
regionsY2 [8] int 4032
regionsX1 [9] int 576 //region group 3
regionsY1 [9] int 1728
regionsX2 [9] int 1600
regionsY2 [9] int 4032
regionsX1 [10] int 704 //region group 4
regionsY1 [10] int 704
regionsX2 [10] int 2112
regionsY2 [10] int 1728
regionsX1 [11] int 1728 //region group 5 (radar defenders)
regionsY1 [11] int 320
regionsX2 [11] int 6208
regionsY2 [11] int 3904
regionsX1 [12] int 4032 //protect region group 5 (radar object)
regionsY1 [12] int 2368
regionsX2 [12] int 4800
regionsY2 [12] int 3136
/* sector Stuff */
/*reuse
//sectors to attack (covers 1A-C expansion area, in order of priority to attack)
//MAX = 20
//sect15
sectorsX1 [0] int 10432
sectorsY1 [0] int 12736
sectorsX2 [0] int 14272
sectorsY2 [0] int 15552
//sect21
sectorsX1 [1] int 8896
sectorsY1 [1] int 13760
sectorsX2 [1] int 10304
sectorsY2 [1] int 15040
//sect20
sectorsX1 [2] int 6336
sectorsY1 [2] int 13760
sectorsX2 [2] int 8768
sectorsY2 [2] int 14144
//ravine entrance to 1B
//sect
sectorsX1 [3] int 2112
sectorsY1 [3] int 12736
sectorsX2 [3] int 6336
sectorsY2 [3] int 14784
//sect
sectorsX1 [4] int 1600
sectorsY1 [4] int 10176
sectorsX2 [4] int 5952
sectorsY2 [4] int 12608
//sect
sectorsX1 [5] int 4672
sectorsY1 [5] int 8640
sectorsX2 [5] int 5696
sectorsY2 [5] int 10048
//sect
sectorsX1 [6] int 4160
sectorsY1 [6] int 6464
sectorsX2 [6] int 5056
sectorsY2 [6] int 8512
//sect (base)
sectorsX1 [7] int 832
sectorsY1 [7] int 6336
sectorsX2 [7] int 3392
sectorsY2 [7] int 7104
//sect
sectorsX1 [8] int 4800
sectorsY1 [8] int 5056
sectorsX2 [8] int 6208
sectorsY2 [8] int 6208
//sect
sectorsX1 [9] int 3392
sectorsY1 [9] int 4672
sectorsX2 [9] int 4160
sectorsY2 [9] int 5440
//sect
sectorsX1 [10] int 5056
sectorsY1 [10] int 4160
sectorsX2 [10] int 5312
sectorsY2 [10] int 4928
//sect
sectorsX1 [11] int 4032
sectorsY1 [11] int 1216
sectorsX2 [11] int 6208
sectorsY2 [11] int 3264
//sect
sectorsX1 [12] int 3392
sectorsY1 [12] int 832
sectorsX2 [12] int 3776
sectorsY2 [12] int 1472
//sect
sectorsX1 [13] int 2624
sectorsY1 [13] int 1600
sectorsX2 [13] int 3392
sectorsY2 [13] int 1856
//sect
sectorsX1 [14] int 832
sectorsY1 [14] int 1344
sectorsX2 [14] int 2496
sectorsY2 [14] int 3392
//sect
sectorsX1 [15] int 1600
sectorsY1 [15] int 3520
sectorsX2 [15] int 2496
sectorsY2 [15] int 4544
//sect
sectorsX1 [16] int 832
sectorsY1 [16] int 1344
sectorsX2 [16] int 1728
sectorsY2 [16] int 2880
*/
/* Enemy Base Blips */
numBases int 4 //MAX = 5. Must be same as number of bases listed next
basePlayer [0] int 7 //enemy player number who owns base
baseMsg [0] INTMESSAGE "FAST_BASE1" //enemy base blip message (prox.txt)
baseRegion [0] int 0 //index to regions
baseWav1 [0] int 2 //index to baseSnd Superior Weapons
baseWav2 [0] int 3 //index to baseSnd Eradicated
basePlayer [1] int 7
baseMsg [1] INTMESSAGE "FAST_BASE2"
baseRegion [1] int 1
baseWav1 [1] int 0 //index to baseSnd enemy detected
baseWav2 [1] int 3 //index to baseSnd Eradicated
basePlayer [2] int 7
baseMsg [2] INTMESSAGE "FAST_BASE3"
baseRegion [2] int 2
baseWav1 [2] int 2 //index to baseSnd Superior Weapons
baseWav2 [2] int 3 //index to baseSnd Eradicated
basePlayer [3] int 7 //do radar as a base
baseMsg [3] INTMESSAGE "FAST_BASE4"
baseRegion [3] int 12
baseWav1 [3] int 1 //index to baseSnd Threat to project
baseWav2 [3] int -1 //-1 = no sound
/* Enemy Groups */
numGroups int 7 //group MAX = 10
//5 valley groups timed 10seconds apart to attack player's base
grpType [0] int 0 //0 = Ambush/Patrol, 1 = Defence, 2 = Scout, 3 = Attack...
grpPlayer [0] int 7 //player number (NP)
grpRegion [0] int 6 //index in regions array
grpTimeGo [0] int 1 //10s. (always make >= 0 for defence forces)
grpRegionGo [0] int -1 //index in regions array as trigger
grpWhoGo [0] int 0 //player number to cross trigger region (may not need?)
grpMorale [0] int 90 //don't set morale/leadership/retreat
grpLeadership [0] int 50 //leadership value
grpRetreatXY [0] int 0 //retreat to base 1 assembly
grpPosStart [0] int 3 //index in coords/sectors array (depends on grpType)
grpPosMin [0] int 3 //Minimum index in coords array
grpPosMax [0] int 3 //Maximum index in coords array
grpPosStep [0] int 0 //Step increase for next 'waypoint'
grpPosType [0] int 0 //0 = stop, 1 = loop, 2 = pingpong, 3 = random thru waypoints
grpFactory [0] int -1 //index factory to reinforce group. -1 = any factory.
grpIdealSize [0] int 0 //ideal size. If less than this factory will reinforce
grpType [1] int 0 //0 = Ambush/Patrol, 1 = Defence, 2 = Scout, 3 = Attack...
grpPlayer [1] int 7 //player number (NP)
grpRegion [1] int 7 //index in regions array
grpTimeGo [1] int 2 //20s time trigger (always make >= 0 for defence forces)
grpRegionGo [1] int -1 //no region. index in regions array as trigger
grpWhoGo [1] int 0 //player number to cross trigger region (may not need?)
grpMorale [1] int 90 //very timid! morale = 1%
grpLeadership [1] int 50 //leadership value
grpRetreatXY [1] int 0 //retreat (index in coords array) base1 assembly
grpPosStart [1] int 3 //index in sectors array (depends on grpType)
grpPosMin [1] int 3 //Minimum index in coords array
grpPosMax [1] int 3 //Maximum index in coords array
grpPosStep [1] int 0 //Step increase for next 'waypoint'
grpPosType [1] int 0 //0 = stop, 1 = loop, 2 = pingpong, 3 = random thru waypoints
grpFactory [1] int -1 //index structure to reinforce group. -1 = any factory.
grpIdealSize [1] int 0 //ideal size. If less than this factory will reinforce
grpType [2] int 0 //0 = Ambush/Patrol, 1 = Defence, 2 = Scout, 3 = Attack...
grpPlayer [2] int 7 //player number (NP)
grpRegion [2] int 8 //index in regions array
grpTimeGo [2] int 3 //0s time trigger (always make >= 0 for defence forces)
grpRegionGo [2] int -1 //no region. index in regions array as trigger
grpWhoGo [2] int 0 //player number to cross trigger region (may not need?)
grpMorale [2] int 90 //morale = 25%
grpLeadership [2] int 50 //leadership value = 75%
grpRetreatXY [2] int 1 //retreat (index in coords array) base2 assembly
grpPosStart [2] int 3 //index in coords array (depends on grpType)
grpPosMin [2] int 3 //Minimum index in coords array
grpPosMax [2] int 4 //Maximum index in coords array
grpPosStep [2] int 1 //Step increase for next 'waypoint'
grpPosType [2] int 1 //0 = stop, 1 = loop, 2 = pingpong, 3 = random thru waypoints
grpFactory [2] int 0 //index factory to reinforce group. -1 = any factory.
grpIdealSize [2] int 2 //ideal size. If less than this factory will reinforce
grpType [3] int 0 //0 = Ambush/Patrol, 1 = Defence, 2 = Scout, 3 = Attack...
grpPlayer [3] int 7 //player number (NP)
grpRegion [3] int 9 //index in regions array
grpTimeGo [3] int 4 //10s time trigger (always make >= 0 for defence forces)
grpRegionGo [3] int -1 //no region. index in regions array as trigger
grpWhoGo [3] int 0 //player number to cross trigger region (may not need?)
grpMorale [3] int 90 //pretty timid! morale = 25%
grpLeadership [3] int 50 //leadership value = 0%
grpRetreatXY [3] int 1 //retreat (index in coords array) base 2 assembly
grpPosStart [3] int 3 //index in coords array (depends on grpType)
grpPosMin [3] int 3 //Minimum index in coords array
grpPosMax [3] int 4 //Maximum index in coords array
grpPosStep [3] int 1 //Step increase for next 'waypoint'
grpPosType [3] int 1 //0 = stop, 1 = loop, 2 = pingpong, 3 = random thru waypoints
grpFactory [3] int 1 //index factory to reinforce group. -1 = any factory.
grpIdealSize [3] int 4 //ideal size. If less than this factory will reinforce
grpType [4] int 0 //0 = Ambush/Patrol, 1 = Defence, 2 = Scout, 3 = Attack...
grpPlayer [4] int 7 //player number (NP)
grpRegion [4] int 10 //index in regions array
grpTimeGo [4] int 5 //20s time trigger (always make >= 0 for defence forces)
grpRegionGo [4] int -1 //no region. index in regions array as trigger
grpWhoGo [4] int 0 //player number to cross trigger region (may not need?)
grpMorale [4] int 90 //morale = 50%
grpLeadership [4] int 50 //leadership value = 75%
grpRetreatXY [4] int 1 //retreat (index in coords array) base2 assembly
grpPosStart [4] int 3 //index in coords array (depends on grpType)
grpPosMin [4] int 3 //Minimum index in coords array
grpPosMax [4] int 4 //Maximum index in coords array
grpPosStep [4] int 1 //Step increase for next 'waypoint'
grpPosType [4] int 1 //0 = stop, 1 = loop, 2 = pingpong, 3 = random thru waypoints
grpFactory [4] int -1 //index factory to reinforce group. -1 = any factory.
grpIdealSize [4] int 6 //ideal size. If less than this factory will reinforce
//radar tower defenders
grpType [5] int 1 //0 = Ambush/Patrol, 1 = Defence, 2 = Scout, 3 = Attack...
grpPlayer [5] int 7 //player number (NP)
grpRegion [5] int 11 //index in regions array
grpTimeGo [5] int 0 //20s time trigger (always make >= 0 for defence forces)
grpRegionGo [5] int 12 //index in regions array as protect region
grpWhoGo [5] int 0 //player number to cross trigger region (may not need?)
grpMorale [5] int 25 //morale = 50%
grpLeadership [5] int 50 //leadership value = 75%
grpRetreatXY [5] int 1 //retreat (index in coords array) base2 assembly
grpPosStart [5] int -1 //-1 = no waypoints. index in coords array (depends on grpType)
grpPosMin [5] int -1 //Minimum index in coords array
grpPosMax [5] int -1 //Maximum index in coords array
grpPosStep [5] int 0 //Step increase for next 'waypoint'
grpPosType [5] int 0 //0 = stop, 1 = loop, 2 = pingpong, 3 = random thru waypoints
grpFactory [5] int 0 //index factory to reinforce group. -1 = any factory.
grpIdealSize [5] int 0 //ideal size. If less than this factory will reinforce
//hillgroup
grpType [6] int 0 //0 = Ambush/Patrol, 1 = Defence, 2 = Scout, 3 = Attack...
grpPlayer [6] int 7 //player number (NP)
grpRegion [6] int 2 //index in regions array (same as base region)
grpTimeGo [6] int -1 //20s time trigger (always make >= 0 for defence forces)
grpRegionGo [6] int 5 //no region. index in regions array as trigger
grpWhoGo [6] int 0 //player number to cross trigger region (may not need?)
grpMorale [6] int 90 //morale = 50%
grpLeadership [6] int 50 //leadership value = 75%
grpRetreatXY [6] int 2 //retreat (index in coords array) base3 assembly
grpPosStart [6] int 5 //index in coords array (depends on grpType)
grpPosMin [6] int 5 //Minimum index in coords array
grpPosMax [6] int 8 //Maximum index in coords array
grpPosStep [6] int 1 //Step increase for next 'waypoint'
grpPosType [6] int 2 //0 = stop, 1 = loop, 2 = pingpong, 3 = random thru waypoints
grpFactory [6] int 2 //index factory to reinforce group. -1 = any factory.
grpIdealSize [6] int 3 //ideal size. If less than this factory will reinforce
/* Factories */
numFactories int 3 //MAX = 10
factID [0] int 0 //index to structures
factAssXY [0] int 0 //index to assembly point. -1 for don't set
factTimeGo [0] int -1 //delay before starting production in 10s
factRegionGo [0] int 3 //-1 = no region for trigger (assume WhoGo = 0)
factTempMin [0] int 0 //index to starting template
factTempMax [0] int 2 //index to maximum template
factID [1] int 2 //index to structures
factAssXY [1] int 1 //index to assembly point. -1 for don't set
factTimeGo [1] int -1 //delay before starting production in 10s
factRegionGo [1] int 4 //-1 = no region for trigger (assume WhoGo = 0)
factTempMin [1] int 0 //index to starting template
factTempMax [1] int 3 //index to maximum template
factID [2] int 3 //index to structures
factAssXY [2] int 2 //index to assembly point. -1 for don't set
factTimeGo [2] int -1 //delay before starting production in 10s
factRegionGo [2] int 5 //-1 = no region for trigger (assume WhoGo = 0)
factTempMin [2] int 1 //index to starting template
factTempMax [2] int 4 //index to maximum template
/* 'Globals' */
//These should be same in each file, but may need slight alterations
player int 0 //player's player number
crate FEATURESTAT "Crate"
artRange int 200 //171 //range to artifact about 1.5 tiles
objectiveRange int 640 //range to objective 5 Tiles
wayRange int 300 //range to waypoint 2ish tiles
targetRange int 768 //range for target spotting
targetMax int 4 //maximum number of targets to store for each enemy
wonSnd SOUND "Objectives Accomplished.wav" //mission done
lostSnd SOUND "You Are Defeated.wav" //mission failed
attackSnd1 SOUND "structure Under Attack.wav" //Base Under Attack
artSnd1 SOUND "Artifact Discovered.wav" //artifact sounds
artSnd2 SOUND "Artifact Recovered.wav"
//base WAVs. MAX = 5
baseSnd[0] SOUND "Enemy Detected.wav" //Enemy Base Detected
baseSnd[1] SOUND "Barbarian Base Located-1.wav" //threat to project
baseSnd[2] SOUND "Barbarian Base Located-2.wav" //superior weapons
baseSnd[3] SOUND "Barbarian Outpost-2.wav" //scavenger outpost eradicated
}